package org.example.Server.mapper.question;

import org.apache.ibatis.annotations.Mapper;
import org.example.Server.model.question.*;

import java.util.List;

@Mapper
public interface QuestionMapper {

    void insertQs(QsHeader question, boolean is_store);

    void insertOption(List<Option> options);

    void insertQSandOption(Question question);

//    void insertQSandOption2(QUpdate question);

    List<Question> getQSListByTechid(Integer techId, Integer qsType, Integer difficulty, Integer point_id);

    void insertQandA(Question question);

//    List<Question> getQandAListByTechid(Integer techId,Integer difficulty,Integer point_id);

    void deleteQS(List<Integer> qsIds);

    void updateQna(QUpdate question);

    void updateQs(QUpdate question);

    void updateOption(List<Option> options);

    void updateQSandOption(QUpdate qUpdate);

    void deleteOption(List<Option> deleteOptions);

    Question getQuestionById(Integer qsId);

    List<Question> getQuestionByIds(List<Integer> ids);

    //批量添加试题头
    void insertQses(List<Question> questionList, Integer techId, boolean is_store);

    //批量添加问答题
    void insertQandAs(List<Question> qnaList);

    //批量添加选项
    void insertOptions(List<Question> qselList);

    //批量添加选择题与选项关系
    void insertQSandOptions(List<Question> qselList);

    List<Question> getStuQsList(Integer userId, Integer qsType, Integer difficulty, Integer pointId);

    void deleteStuQsById(List<Integer> ids);

    void addStuStarQs(QsStarDTO qsStarDTO);

    /**
     * 查学生是否收藏过
     *
     * @param qsStarDTO
     * @return
     */
    QsStarDTO isExistQsStar(QsStarDTO qsStarDTO);
}
